#include "SemanticChecker.h"

namespace SimplePascal
{
	void SemanticChecker::Visit(PrimitiveType* type)
	{
	}

	void SemanticChecker::Visit(PointerType* type)
	{
	}

	void SemanticChecker::Visit(Parameter* parameter)
	{
	}

	void SemanticChecker::Visit(FunctionType* type)
	{
	}

	void SemanticChecker::Visit(PrimitiveExpression* expression)
	{
	}

	void SemanticChecker::Visit(LiteralExpression* expression)
	{
	}

	void SemanticChecker::Visit(VariableExpression* expression)
	{
	}

	void SemanticChecker::Visit(Argument* argument)
	{
	}

	void SemanticChecker::Visit(InvokeExpression* expression)
	{
	}

	void SemanticChecker::Visit(CastExpression* expression)
	{
	}

	void SemanticChecker::Visit(SizeOfExpression* expression)
	{
	}

	void SemanticChecker::Visit(NotExpression* expression)
	{
	}

	void SemanticChecker::Visit(AddressExpressoin* expression)
	{
	}

	void SemanticChecker::Visit(PointerValueExpression* expression)
	{
	}

	void SemanticChecker::Visit(RelationExpression* expression)
	{
	}

	void SemanticChecker::Visit(AndExpression* expression)
	{
	}

	void SemanticChecker::Visit(OrExpression* expression)
	{
	}

	void SemanticChecker::Visit(AddExpression* expression)
	{
	}

	void SemanticChecker::Visit(SubExpression* expression)
	{
	}

	void SemanticChecker::Visit(MulExpression* expression)
	{
	}

	void SemanticChecker::Visit(DivExpression* expression)
	{
	}

	void SemanticChecker::Visit(ExpressionStatement* statement)
	{
	}

	void SemanticChecker::Visit(AssignStatement* statement)
	{
	}

	void SemanticChecker::Visit(IfStatement* statement)
	{
	}

	void SemanticChecker::Visit(WhileStatement* statement)
	{
	}

	void SemanticChecker::Visit(RepeatStatement* statement)
	{
	}

	void SemanticChecker::Visit(ControlStatement* statement)
	{
	}

	void SemanticChecker::Visit(ResultStatement* statement)
	{
	}

	void SemanticChecker::Visit(BlockStatement* statement)
	{
	}

	void SemanticChecker::Visit(Variable* variable)
	{
	}

	void SemanticChecker::Visit(Var* var)
	{
	}

	void SemanticChecker::Visit(Function* function)
	{
	}

	void SemanticChecker::Visit(Program* program)
	{
	}

	bool SemanticChecker::Check(Program* program, TypeTable& typeTable, SymbolTable& symbolTable)
	{
		return false;
	}
}